<template>
  <div>
    <div class="banner"
         @click="handleShowGallery">
      <img
        class="banner-img"
        :src="bannerImg"
      />
      <div class="banner-info">
        <div class="banner-title">
          {{this.sightName}}
        </div>
        <div class="banner-number">
          <span class="iconfont banner-icon">&#xe612;</span>
          {{this.bannerImg.length}}
        </div>
      </div>
    </div>
    <FadeAnimation>
      <CommenGallery
        @close="handleCloseGallery"
        v-show="showGallery">
      </CommenGallery>
    </FadeAnimation>
  </div>
</template>

<script>
  import CommenGallery from 'common/gallery/Gallery'
  import FadeAnimation from 'common/fade/FadeAnimation'

  export default {
    name: "Banner",
    components: {
      CommenGallery,
      FadeAnimation
    },
    props: {
      sightName: String,
      bannerImg: String,
      gallaryImgs: Array
    },
    data() {
      return {
        showGallery: false
      }
    },
    methods: {
      handleShowGallery() {
        this.showGallery = true
      },
      handleCloseGallery() {
        this.showGallery = false
      }
    }
  }
</script>

<style lang="stylus" scoped>
  .banner
    position: relative
    overflow: hidden
    height: 0
    padding-bottom: 55%

    .banner-img
      width: 100%

    .banner-info
      display: flex
      position: absolute
      left: 0
      right: 0
      bottom: 0
      line-height: .6rem
      color: #fff
      background-image: linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8))

      .banner-tittle
        flex: 1
        font-size: .32rem
        padding: 0 .2rem
        bottom: .2rem

      .banner-number
        margin-top: .2rem
        height: .32rem
        line-height: .32rem
        margin-left: 5rem
        padding: 0 .4rem
        border-radius: .2rem
        background: rgba(0, 0, 0, .8)
        font-size: .24rem

        .banner-icon
          font-size: .24rem

</style>
